【PHP/演習問題】名前空間(namespace)[2]

【PHP/演習問題】名前空間(namespace)[2]

問題

次の実行結果になるプログラムを作成してください。
なお、下記の条件を満たすものとします。

  • 名前空間のDriverとShopを定義する
  • 各名前空間にCarクラスを定義し、内容は次の表の通りとする
名前空間 クラス フィールド メソッド
Driver Car ・accel()
『加速』を出力する
brake()
『減速』を出力する
Shop Car $price
(値段)
・コンストラクタ
$priceの初期値を設定する
display_price()
値段($price)を出力する
==== Driver ====
加速
減速
====  Shop  ====
料金 : 3500000円

解答例

<?php


namespace Driver;

echo "==== Driver ====\n";

class Car {
    
    public function accel() {
        echo "加速\n";
    }
    
    public function brake() {
        echo "減速\n";
    }
    
}

$car = new Car();
$car->accel();
$car->brake();



namespace Shop;

echo "====  Shop  ====\n";

class Car {
    
    public $price;
    
    public function __construct( $price ) {
        $this->price = $price;
    }
    
    public function display_price() {
        echo '料金 : '.$this->price."円\n";
    }
    
}

$car = new Car(3500000);
$car->display_price();

?>